package com.game.basic;

import android.content.Context;
import android.opengl.GLSurfaceView;
import android.view.MotionEvent;

/**
* @author oven:
* @version 创建时间：2013-1-25 上午11:41:57
*
* 
* GL view
* 
* 【定制android.view.Surface】
* GLSurfaceView默认会创建像素格式为PixelFormat.RGB_565的surface。
* 如果需要透明效果，调用getHolder().setFormat(PixelFormat.TRANSLUCENT)。
* 透明(TRANSLUCENT)的surface的像素格式都是32位，每个色彩单元都是8位深度，像素格式是设备相关的，
* 这意味着它可能是ARGB、RGBA或其它。
* 
* 
*【 选择EGL配置】
* Android设备往往支持多种EGL配置，可以使用不同数目的通道(channel)，
* 也可以指定每个通道具有不同数目的位(bits)深度。
* 因此，在渲染器工作之前就应该指定EGL的配置。GLSurfaceView默认EGL配置的像素格式为RGB_656，
* 16位的深度缓存(depth buffer)，默认不开启遮罩缓存(stencil buffer)。
* 
* 
*【渲染模式】
* 渲染器设定之后，你可以使用setRenderMode(int)指定渲染模式是按需(on demand)还是连续(continuous)。
* 默认是连续渲染。 
*/


public class BasicGLView extends GLSurfaceView{
	BasicGLRenderer mRenderer;

	public BasicGLView(Context context,BasicGLRenderer renderer) {
		super(context);
		mRenderer=renderer;
		setRenderer(mRenderer);
		//开启log 调试   (开了这个很卡~)
//		setDebugFlags(DEBUG_CHECK_GL_ERROR | DEBUG_LOG_GL_CALLS);
	}
	
	@Override
	public boolean onTouchEvent(final MotionEvent event) {
		/**
		 * 使用queueEvent()。queueEvent()方法被安全地用于在UI 线程和渲染线程之间进行交流
		 */
		queueEvent(new Runnable(){

			public void run() {
				
			mRenderer.setColor(event.getX() / getWidth(),

			event.getY() / getHeight(), 1.0f);

			}

			});

		return true;

	}

		

}

